package cn.miju.alipay.model;

import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

/**
 * <pre>
 * 异步通知-优惠券信息
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-02 15:28
 */
@Data
@ToString
public class VoucherDetail {
    /**
     * 券 ID
     */
    private String voucherId;
    /**
     * 券模板 ID
     */
    private String templateId;
    /**
     * 券名称
     */
    private String name;
    /**
     * 优惠类型
     * ALIPAY_BIZ_VOUCHER：商家全场券。
     * ALIPAY_COMMON_ITEM_VOUCHER：商家单品券。
     * ALIPAY_CASH_VOUCHER：平台优惠券，支付宝或第三方出资。
     * ALICREDIT_INTFREE_VOUCHER：花呗分期券，该券仅做订单外的工作呗分期费用减免，并不抵扣订单内支付金额。
     */
    private String type;
    /**
     * 优惠金额
     */
    private BigDecimal amount;
    /**
     * 商家出资金额
     */
    private BigDecimal merchantContribute;
    /**
     * 其他出资方出资金额
     */
    private BigDecimal otherContribute;
    /**
     * 优惠券的其他出资方明细
     */
    private List<ContributeDetail> otherContributeDetail;
    /**
     * 优惠券备注信息。
     */
    private String memo;

    @Data
    @ToString
    public static class ContributeDetail {
        /**
         * 出资方类型
         */
        private String contributeType;
        /**
         * 出资方金额
         */
        private BigDecimal contributeAmount;
    }
}
